package br.com.scv.bean;

import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import br.com.scv.exception.RNException;
import br.com.scv.logic.MotoristaLogic;
import br.com.scv.logicImp.MotoristaLogicImp;
import br.com.scv.model.Motorista;

public class MotoristaBean {

	private Motorista motorista;
	private List<Motorista> motoristas;
	
	public MotoristaBean(){
		motorista = new Motorista();
	}
	
	public Motorista getMotorista() {
		return motorista;
	}
	public void setMotorista(Motorista motorista) {
		this.motorista = motorista;
	}
	public List<Motorista> getMotoristas() {
		MotoristaLogic logic = new MotoristaLogicImp();
		List<Motorista> motoristas = new ArrayList<Motorista>();
		try {
			motoristas = logic.listar();
		} catch (RNException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return motoristas;
	}
	public void setMotoristas(List<Motorista> motoristas) {
		this.motoristas = motoristas;
	}
	
	public void salvar(){
		FacesMessage msg = new FacesMessage();
		FacesContext context = FacesContext.getCurrentInstance();
		String mensagem = null;
		try {
			MotoristaLogic logic = new MotoristaLogicImp();
			logic.salvar(motorista);
			motorista = new Motorista();	
			msg.setSeverity(FacesMessage.SEVERITY_INFO);
			mensagem = "Motorista cadastrado com sucesso";
		} catch (RNException e) {
			msg.setSeverity(FacesMessage.SEVERITY_ERROR);
			mensagem = e.getMessage();
		} finally {
			msg.setSummary(mensagem);
			context.addMessage(null, msg);
		}
		
	}
	
		public void editar(){
				
				try {
					MotoristaLogic logic = new MotoristaLogicImp();
					logic.editar(motorista);
					motorista = new Motorista();
				} catch (RNException e) {
					// TODO Auto-generated catch block
				}
			}

		public void cancelaEditar(){
			motorista = new Motorista();
		}
		
		public void excluir(){
			
			try {
				MotoristaLogic logic = new MotoristaLogicImp();
				logic.excluir(motorista);
				motorista = new Motorista();
			} catch (RNException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

}
